#ifndef DEXIOSFM_H
#define DEXIOSFM_H

#include <QMainWindow>

class QFileSystemModel;
class QLabel;
class QModelIndex;
class QSortFilterProxyModel;

class DexiosFMTab;

namespace Ui
	{
		class DexiosFM;
	}

class DexiosFM : public QMainWindow
	{
		Q_OBJECT

		public:
			DexiosFM(QWidget *parent = 0);
			~DexiosFM();

		protected:
			void changeEvent(QEvent *e);
			void previewImage(const QModelIndex &);

		private:
			void setupFavorites();

			Ui::DexiosFM *ui;
			QFileSystemModel * file_system;
			QString home_path;
			QLabel * image_previewer;

		public slots:
			void addTab();

		protected slots:
			void addTab(const QModelIndex &);
			void closeTab(int);
			void exitImagePreview();
			void keepAspectRatio(bool);
			void goUp();
			void nextImage();
			void openFav(const QModelIndex &);
			void previewImage();
			void previousImage();
			void updateTabTitle(DexiosFMTab *, const QString &);
	};

#endif // DEXIOSFM_H
